Method, device, and system for analyzing and ranking web-accessible data targets

ABSTRACT

A method of locating a relevant product belonging to a category of related products sharing pre-determined product attributes is provided. At a client computer, a search topic associated with the category arrives from a user along with user-profile data like demographic, geographic, and situational data. A server locates at information locations some related products within the category, each having the pre-determined set of product attributes having associated content. For each product attribute, the content associated therewith in one of the located products is compared against content associated with the product attribute in each other located product and is assigned a relative score based on the comparison. The shared set of product attributes is prioritized based in part upon relevance of a product attribute to user profile data and the located products are ranked based on the prioritizing and the score of content associated with the product attributes.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.11/769,138, filed on Jun. 27, 2007, the entire disclosure of which ishereby incorporated herein by reference in its entirety.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

FIELD OF THE INVENTION

The present invention relates generally to internet content location andranking, and, in particular, to ranking products based on criteriarelevant and customized to each particular user and their need for theproduct.

BACKGROUND OF THE INVENTION

The Internet is a publicly accessible worldwide network of otherinterconnected computer networks. It consists of millions of smallerdomestic, academic, business, and government networks, which togethercarry various information and services, such as electronic mail, onlinechat, file transfer, and the interlinked Web pages and other documentsof the World Wide Web.

The Internet and the World Wide Web (Web) are not synonymous. While theInternet is a collection of interconnected computer networks, linked byany communicative means, such as copper wires, fiber-optic cables,wireless connections, etc., the Web is a collection of interconnecteddocuments and other resources, linked by hyperlinks and Uniform ResourceLocators (URLs). The Web is accessible via the Internet, as are manyother services including e-mail, file sharing, and others.

The Web is accessed by navigating to any of a vast amount of “pages,”which are each located at a unique address. Each of these pages is ableto contain “content,” such as graphics, text, video, and sound.Programmers control what content appears on each of these pages. Inaddition, each page is able to link to other pages through hyperlinks.These other pages are identified by URLs embedded in the hyperlink andcontain further content. Due in part to the ease in Web pageprogramming, the Web has experienced a steep exponential increase in thenumber of pages and, correspondingly, the amount of content availablevia the Internet.

Compared to traditional information sources, such as encyclopedias andlibraries, the World Wide Web has enabled a rapid decentralization ofinformation and data. To help locate this data, “search engines” havebeen developed by a myriad of software developers. “Search engines” arewell known document retrieval systems used to locate information storedon the Web. Through keyword-driven Internet search engines, likeGOOGLE®, YAHOO®, ASKJEEVES®, and many others, millions worldwide nowhave instant access to a vast and diverse amount of online information.

Known search engines work by accepting a user input keyword or keywordswith which it uses to perform a comparison to content on Web pages. Thecomparison can be a basic direct comparison, a complex algorithm, orsomewhere in between. Once a specified number of pages are searched, theresults are ranked in some order of “relevance,” which is a term thathas been given several definitions by those that rank information. Theresults are then displayed in a list, with the determined most“relevant” page being at the top of the list and the least relevant atthe bottom.

Unfortunately, determining relevancy is not an exact science. Manysearch engines define the most relevant site as a site where the keywordappears most frequently. Others determine relevance by the number ofother users that select that page when presented with a list ofpotentially relevant pages. Many other methods are used to attempt tofind a page that will most closely fit what the searcher is looking for.Some search engines simply place the page that pays the most money tothem as the top choice for the searcher.

However, these relevancy-determining methods are inefficient andinaccurate. For instance, suppose a user is seeking a mutual fund andtypes in the key words “mutual” and “fund.” With all prior-art searchengines, the user will not be shown a list of mutual funds with theirassociated details, but will instead be presented with a list of pagesthat simply have the words “mutual” and “fund” on their page or in theirassociated metadata. Similarly, if a user is seeking a credit card, thatuser, using existing search engines, cannot be given a list of creditcards ranked by their attributes, but will instead be shown a huge listof credit card related sites, which may include credit card issuingcompanies, credit card customizing companies, stores that accept creditcards, and many others, that are presented to the user based on possiblyirrelevant criteria, such as which one pays the highest per click fee orwhich one generates the most web traffic.

There is currently no way for a searcher to know, out of a list ofusually thousands of located Web pages, which page the searcher isseeking. Having to click on each of the non-strategically andinaccurately ranked Web pages located after a search, in order todetermine which one is the most relevant, is tedious for the searcherand creates a great deal of frustration.

Therefore a need exists to overcome the problems with the prior art asdiscussed above.

SUMMARY OF THE INVENTION

The invention provides a method, device, and system for analyzing andranking web-accessible data targets that overcome thehereinafore-mentioned disadvantages of the heretofore-known devices andmethods of this general type.

With the foregoing and other objects in view, there is provided, inaccordance with the invention, a method of locating a relevant productvia a computer network, the relevant product belonging to a category ofrelated products sharing a pre-determined set of product attributesassociated therewith. The method includes, at a client computer,receiving a search topic from a user, the search topic being associatedwith the category of related products and receiving user profile dataincluding at least one of demographic, geographic, and situational dataspecific to the user. A server locates at one or more informationlocations at least two of the related products within the category ofrelated products associated with the search topic, each of the at leasttwo located products having the pre-determined set of product attributesassociated therewith, each product attribute having content associatedtherewith. At least one of the client computer and the server, for eachproduct attribute of the shared set of product attributes, compares thecontent associated with the product attribute in one of the at least twolocated products against content associated with the product attributein each of the other located products of the at least two locatedproducts and assigns a relative score to the content associated with theproduct attribute in each of the at least two located products based onthe comparison. The shared set of product attributes are prioritizedbased at least in part upon a relevance of at least one productattribute to the user profile data and the at least two located productsare ranked based on the prioritizing of the product attributes and thescore of content associated with the product attributes.

With the objects of the invention in view, there is also provided asystem for locating a relevant product belonging to a category ofrelated products sharing a pre-determined set of product attributesassociated therewith. The system comprises a client computer operable toreceive a search topic from a user, the search topic being associatedwith the category of related products to which the relevant productbelongs and receive user profile data including at least one ofdemographic, geographic, and situational data specific to the user. Thesystem comprises a server communicatively coupled to the client computerand operable to locate at one or more information locations at least twoof the related products within the category of related productsassociated with the search topic, each of the at least two locatedproducts having the pre-determined set of product attributes associatedtherewith, each product attribute having content associated therewith.At least one of the client computer and the server is operable, for eachproduct attribute of the shared set of product attributes, to comparethe content associated with the product attribute in one of the at leasttwo located products against content associated with the productattribute in each of the other located products of the at least twolocated products and to assign a relative score to the contentassociated with the product attribute in each of the at least twolocated products based on the comparison. At least one of the clientcomputer and the server is operable to prioritize the shared set ofproduct attributes based at least in part upon a relevance of at leastone product attribute to the user profile data and to rank the at leasttwo located products based on the prioritizing of the product attributesand the score of content associated with the product attributes.

In accordance with another feature of the invention, receiving the userprofile data includes at least one of receiving inputs from the user,searching data stored during a previous search initiated by the user foranother product via the computer network, and searching a database ofpre-stored user profile data.

In accordance with a further feature of the invention, the user profilesituational data includes information associated with the user'sfinancial situation.

In accordance with an added feature of the invention, the step ofranking the at least two products includes assigning a weight to thescore of the content based upon the prioritization of the productattribute with which the content is associated.

In accordance with an additional feature of the invention, the at leastone information location from which to locate the at least two relatedproducts is selected based at least in part on at least one of theproduct attributes.

In accordance with yet another feature of the invention, the at leasttwo ranked located products are displayed by rank.

In accordance with yet a further feature of the invention, the rankingof the at least two located products is updated in response to receivinga change to a priority of at least one of the product attributes.

In accordance with yet an added feature of the invention, a user ratingof a product is received and the at least two located products areranked based at least in part on the user rating.

In accordance with yet an additional feature of the invention, theranking is automatically updated based on a change to the contentassociated with at least one of the product attributes in at least oneof the at least two located products.

In accordance with a concomitant feature of the invention, the user isnotified of the updated ranking through a predefined communicationchannel.

Additional advantages and other features characteristic of the presentinvention will be set forth in the detailed description that follows andmay be apparent from the detailed description or may be learned bypractice of exemplary embodiments of the invention. Still otheradvantages of the invention may be realized by any of theinstrumentalities, methods, or combinations particularly pointed out inthe claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, which are not true to scale, and which, together with thedetailed description below, are incorporated in and form part of thespecification, serve to illustrate further various embodiments and toexplain various principles and advantages all in accordance with thepresent invention. Advantages of embodiments of the present inventionwill be apparent from the following detailed description of theexemplary embodiments thereof, which description should be considered inconjunction with the accompanying drawings in which:

FIG. 1 is a diagrammatic representation of a networked system of dataprocessing components in which the present invention may be implemented;

FIG. 2 is a flow diagram showing information location steps inaccordance with an exemplary embodiment of the present invention;

FIG. 3 is a screen shot of a sample page body layout in accordance withan exemplary embodiment of the present invention;

FIG. 4 is a screen shot of a sample location-refinement screen inaccordance with an exemplary embodiment of the present invention;

FIG. 5 is a screen shot of a sample page for setting attributesassociated with a user in accordance with an exemplary embodiment of thepresent invention;

FIG. 6 is a screen shot of a sample page for inputting detailedattributes in accordance with an exemplary embodiment of the presentinvention;

FIG. 7 is a screen shot of a sample search results presentation page inaccordance with an exemplary embodiment of the present invention;

FIG. 8 is a screen shot of a product ranking tool in accordance with anexemplary embodiment of the present invention;

FIG. 9 is a screen shot of an interaction summary page in accordancewith an exemplary embodiment of the present invention;

FIG. 10 is a block circuit diagram of a data processing system that maybe implemented as a server computer system in accordance with anexemplary embodiment of the present invention;

FIG. 11 is a block circuit diagram of a data processing system that maybe implemented as a client computer system in accordance with anexemplary embodiment of the present invention;

FIG. 12 is a screen shot of a sample page body layout for searching andranking mutual funds in accordance with an exemplary embodiment of thepresent invention;

FIG. 13 is a screen shot of a sample ratings-definition screen inaccordance with an exemplary embodiment of the present invention;

FIG. 14 is a screen shot of a filter settings screen in accordance withan exemplary embodiment of the present invention;

FIG. 15 is a screen shot of a sample page body layout for searching andranking mutual funds in accordance with an exemplary embodiment of thepresent invention;

FIG. 16 is a screen shot of a sample search results presentation pagefor mutual fund families in accordance with an exemplary embodiment ofthe present invention; and

FIG. 17 is a screen shot of a sample page body layout for searching andranking certificates of deposit in accordance with an exemplaryembodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

While the specification concludes with claims defining the features ofthe invention that are regarded as novel, it is believed that theinvention will be better understood from a consideration of thefollowing description in conjunction with the drawing figures, in whichlike reference numerals are carried forward.

Described now is an exemplary method and hardware platform forintelligently locating a product, where the search for the product isperformed over a computer network and the located product is selected byits relevance to a searcher and, more particularly, by its correlationto attributes associated with the searcher. Embodiments of the presentinvention locate not just web pages that reference, link, or offer adesired product, but returns a list of results ranked by how well theproduct fits the searcher's needs and the searcher's situation. The term“product,” as used herein, is defined broadly and refers not only tophysical objects, but also to services, and combinations of products andservices, such as credit cards.

Network

With reference now to the figures, FIG. 1 is a pictorial representationof a networked system 100 of data processing components in which thepresent invention may be implemented. The system 100 includes a network102, which is the medium used to provide communications links betweenvarious devices and computers connected together within the networkeddata processing system 100. The network 102 provides communicationbetween a plurality of user computers 104 a to 104 n and a plurality ofinformation servers 106 a to 106 n. The network 102 is, for example, theinternet and provides on-line services. The network servers 106 a to 106n manage network traffic such as the communications between any givenuser's computer 104 and an information server 106. The network 102 mayinclude wired or wireless connections. A few exemplary wired connectionsare cable, phone line, and fiber optic. Exemplary wireless connectionsinclude radio frequency (RF) and infrared radiation (IR) transmission.Many other wired and wireless connections are known in the art and canbe used with the present invention.

The user computers 104 are equipped with communications software,including a World Wide Web (WWW) browser such as, for example, theNETSCAPE® browser made by the NETSCAPE COMMUNICATIONS®, INTERNETEXPLORER® made by MICROSOFT®, and FIREFOX® by MOZZILLA®, that allows asearcher to connect and use on-line searching services via the Internet.The software on a user computer 104 manages the display of informationreceived from the servers 106 to the user computer 104 and communicatesuser's actions back to the appropriate information servers 106 so thatadditional display information may be presented to the user or theinformation acted on.

In the depicted example of FIG. 1, servers 106 a-n are connected tonetwork 102 along with storage units 108 a-n. The storage units 108 a-nhold data and are searchable by and accessible to the servers 106 a-nvia the network 102. As an alternative one or more of the storage units108 a-n may be coupled directly to one of the servers 106 a-n, by, forinstance, a link 111.

The servers illustrated in FIG. 1, and discussed hereafter, are those ofa product or service provider, i.e., a merchant. While the followingdiscussion is directed at communication between shoppers and merchantsover the Internet, it is applicable to any information seeker and anyinformation provider on a network. (For instance, the informationprovider can be a library such as a University library, the publiclibrary, or the Library of Congress or other type of informationproviders.) Information regarding a merchant and the merchant's productsor services is stored in one of the databases 108 a-n, to which themerchant servers 106 a-n have access. This may be the merchant's owndatabase or a database of a supplier of the merchant.

In addition to the servers of individual merchants 106, and otherinformation providers, the system 100 also includes a plurality ofsearch servers 110 a-n provided by search service providers, such asGOOGLE®, which maintain full text indexes 112 of the products of theindividual merchants 106 a-n obtained by interrogating productinformation databases 114 maintained by the individual merchants. Someof these search service providers, like GOOGLE®, are general purposesearch providers while others are topic specific search providers.

Network data processing system 100 may include additional servers,clients, and other devices not shown. In the depicted example, networkdata processing system 100 includes the Internet with network 102representing a worldwide collection of networks and gateways that usethe TCP/IP suite of protocols to communicate with one another. At theheart of the Internet is a backbone of high-speed data communicationlines between major nodes or host computers, consisting of thousands ofcommercial, government, educational, and other computer systems thatroute data and messages. Of course, network data processing system 100also may be implemented as a number of different types of networks, suchas for example, an intranet, a local area network (LAN), or a wide areanetwork (WAN). FIG. 1 is intended as an example, and not as anarchitectural limitation for the present invention.

Information Location

The invention, according to an embodiment, is a web-based searchapplication that runs on one of the client devices 104 alone or inconjunction with one or more servers 110, 106. FIG. 2 shows a processflow diagram of the steps for information location performed by anembodiment of the present invention. The process begins at step 200 andmoves directly to step 202 where a user selects a topic by typing,clicking from a given list of topics, or any of multiple other ways ofselecting a topic. A few exemplary topics include mutual funds,automobiles, real estate, jobs, finance, and others. Once a topic isselected, a list of sub-topics, if applicable (step 203), will then beselectable by the user in step 204. For example, the first topic mightbe “Finance” and a sub-topic of finance would be “Banking.” From there,further sub-topics can be selected until, finally, a product, such as“Credit Card,” for example, is chosen.

In step 206, a query is made as to whether further sub-topics are to beselected. If the answer to step 206 is yes, the flow moves back to step204 and a further sub-topic is selected. If the answer to the query ofstep 206 is no, the flow continues to step 208 where, now that a topicand a sufficient number of sub-topic levels have been traversed, a listof products is displayed, with each product being selectable by theuser. In step 210, a user selects one of the topics.

Once a product is selected, in step 212, a list of possible data sourcesfor the query is retrieved. The system advantageously collects data frommultiple sources. These sources are either static or dynamic, online oroffline, or both. Some interactions with data sources will need to bedynamic, for example, interacting with the website of an airline totrawl flight availability. Depending on the nature of the search topic,this may be one or a combination of: a local data store where productinformation is cached and updated periodically either through push orpull techniques; a web service or application programming interface(API), whereby product information is generated dynamically based onvariable inputs; or a web application, whereby product information isgenerated dynamically and requires system interaction with the web sitein order to reach a final result. For instance, if the provider of theproduct offers an online facility to apply, order, or gain moreinformation about the product, the system, in accordance with oneembodiment, is able to automatically glean pertinent information fromthe provider's resources.

The ability for the backend systems to know where to collect data fromon a query-by-query basis and to determine if the data is stored locallyor is dynamic and global is managed by a data collection component. Thiscomponent is also responsible for the caching and cache management ofdata.

In step 214, the data source(s) selected is/are queried. Querying can beperformed in several different ways. One example of this is webscraping, which can be performed, for instance, by a semi-trained agent.Web scraping with a semi-trained agent involves a web robot tailored tomeet the data presentation formats of a specific provider. This type ofrobot is most effective with a limited number of providers or in aninstance where an intermediary party presents data collected frommultiple sources in a similar format. Examples of these would be airlinewebsites, consumer watchdog websites, and financial portals. Scrapingoccurs after the document object model of the web page has beengenerated, and is not merely scraping data from raw markup languages.

The training stage of a robot involves processing each seed with amonitor that watches human interactions with the website. Required inputvariables are linked to object structures which contain user data, forexample,unknownPage.Document.Form.INPUT_TEXT_PASSENGER_LASTNAME=FirsName,LastName.The agent simulates the steps for each new query and moves to thespecified results page. The results are scraped and combined into theproducts' attributes and are ready for the ranking function. Tableparsing mechanisms are used to extract data cleanly. The data can beperiodically updated and structural changes to the source are flagged.

Another data-acquisition method is through use of source discovery anduntrained data collection. Source discovery involves the processes usedby meta-search engines to locate sources of data which may be relevant.By parsing the results of multiple search engines, the agent attempts toidentify possible sources of relevant information and generates a seedlist. The agent then visits the seeds and attempts to extract and verifydata by one or more of the following:

-   -   Visually grouping elements on the page to determine navigation        features and page elements which may contain data.    -   Attempting syntactical word analysis and simple word matching        within the visual groups to locate links to data sources and        possible product attributes.    -   If data is tabular, it attempts to scrape the data and match the        fields to the relevant tables.    -   If data is not tabular, but there is an accuracy match above        40%, the agent flags the seed and resulting page for training.

A few other data collection methods include data sharing schemes andpushed or submitted data. By either purchasing data or participating inrevenue-sharing schemes, the invention can obtain access to datacollected by market researchers or data providers. With pushed orsubmitted data, providers can submit their own product details to thepresent invention by using an API.

An example of a query performed by the present invention could includethe user's location information and/or the importance of a particularattribute of the product, which can be set by system defaults or throughuser interaction. In step 216, the system automatically displays the“best” choice for the particular product selected by the user. The bestof a particular product is represented, in one embodiment of the presentinvention, in a multi-tiered structure. For example, tier 1 (row 1) canstate “The best CD in the country, based off your criteria is:ExampleBank1 High Yield CD.” Tier 2 (row 2) can state, “The best in yourstate is ExampleBank2 CD.” This may be the case if, for example, thestate is Alabama, but ExampleBank1 does not have a presence in Alabama.Finally, Tier 3 (row 3) can state “The best CD in your town,” (whereExampleBank1+ExampleBank2 do not have a presence) “is ExampleBank3 CD.”When the result in tier 2 matches tier 1, the tiers are merged into one,and so on, as in the screenshot FIG. 3.

Determining the “best” item in a list is a task that has been attemptedby many developers over the years. The determination of “best,” inaccordance with embodiments of the present invention, varies dependingon many factors. However, the present invention is advantageous over allprior art devices, in that the invention dynamically changes based onthe attributes used for the search and the hierarchy of theseattributes. For instance, for a product that is relevant to a location,the “best” selection may be based on the best in a country, the best ina particular state, and/or the best in a user's geographical area.Continuing with the example of a credit card as the desired product, thedetermination of “best” may turn on factors such as:

-   -   Annual percentage rate (APR).    -   Introductory interest rate.    -   Balance transfer fees.    -   Transaction fees.    -   Annual fees.    -   Card sponsors.    -   Security measures.    -   Rewards program.    -   Consumer rating of the card.    -   Geographical area within which the institution operates.

Each of these factors is found in information fields associated with theproduct. Information fields are any data area on a page connected to aproduct. For a product relevant to time (e.g., stocks, bonds,currencies, etc.), rankings may be based on current statistics, best ofthe day statistics, monthly or yearly numbers, and others.

In step 218, the user is queried as to whether or not the results shouldbe narrowed. If the answer to the query of 218 is yes, the list can benarrowed, in step 220, automatically or manually, by, for instance,selecting only those products which are offered within a specifieddistance from the user's location or another defined location. From step220, the flow moves back to step 218. In step 218, the searcher is giventhe option to narrow the search results even further. The search may befurther narrowed by choosing or adjusting a user attribute, e.g., a poorcredit history, or no credit record, or a product attribute, e.g., thecard must allow for 0% APR on balance transfers. In addition, a rankingof the importance of attributes defined for the user or the product canfactor into the final product ranking. An example search result wouldbe: “Within your region X (may be broken down into country, state,city), Bank Y offers credit card Z which best meets your requirements.”This result may be a live result, i.e., displayed directly after aquery, or may be tracked by the system over time in order to identifywhen a more applicable product becomes available. Tracking products overtime is advantageous in that it allows the system to notify the user ifchanges occur to the product, such as a change in interest rate, forinstance. If no further narrowing is needed, the process ends at step222.

In at least one respect, the invention, according to certainembodiments, is a “topical” or vertical search engine which operates ona set of pre-defined data structures representing a product or serviceoffered by a provider or player within an industry. For example, a datastructure can be the generic or ontological attributes of a credit cardand the institution offering the product. By taking into account theprofile data of the user, and/or by being directed by the user'sinteraction with the inventive engine, the system recommends a best-fitproduct that meets the user's requirements.

Example Search

The following description and referenced figures provides an example ofdata location utilizing the present invention. The chosen exampleproduct is a credit card, which advantageously provides a complexscenario, which illustrates the various considerations when determininga product's ranking and illustrates how a user would work with thepresented information. A credit card is just one example of a searchtopic and many additional search topics exist within all otherindustries, such as real estate, investments, telecommunications,healthcare, and many others.

FIG. 3 illustrates one example of a page body layout 300 for interactionwith the present invention. The page layout 300 is divided into severalsections, the first being a search criteria entry/selection section 302,the second being a results area 312, and the third section 314 allowingthe user to see where his/her own or potential card ranks on the scalethat selected the best card. It should be noted that the selectionsshown in the figure are merely exemplary and are not exhaustive of allpossible search criteria. In the particular example shown, users canstart their search by defining their location in field 303. Thisdefinition can be a hierarchical set of choices including, for instance,Country, State, County, City, or the location can be pre-populated ifthis data has been submitted before either for this product or in anyother prior sessions, for any reason. If this is the first interactionwith the site and no other location data exists, IP address positioningwill be used to refine the location to as low a level as possible.

Field 304 presents a list of fixed variables for the desired type ofcredit card. The ranking system of the present invention is able to rankall cards of the same type. A few exemplary ranking fields are: AllCredit Cards, Regular Credit Cards, Secured Cards, Rewards Card-AirTravel, Rewards Card, Gift/Merchandise, and others.

There is also, in this example, a field 306 that provides help,describes the current selection, and/or provides interaction tips. Thefield 306 can change depending on the selection made in field 304. Thedescription field 306 provides support to the user and helps the usermake the correct selection.

A clickable link is provided in field 308 that selects the rankingmethod of the present invention. Embodiments of the present inventionrank products in a standard three-step process if no selection is made.First, it assigns a score to each attribute of every card, rating itscomparison to other cards in the same category of cards, e.g., RewardsCards. Second, the scores are assigned a weight based upon how relevanteach attribute is to the individual user and then the scores arere-scored. Lastly, the scores of each attribute are tallied and, in thisexample, the cards are scored against each other, with the overallhighest score ranked #1.

For the system to gain the importance rating of each attribute, thereare three levels of complexity: system default ratings, preset scaledratings, and in-depth custom ratings. This ranking system applies to allproducts and will be explained in further detail below. If a userchanges from the default ranking system to some other ranking system, amessage appears in field 310 indicated this change.

Location Refinement

By refining their location, the users are able to have direct access toproducts in their geographical region. Although in the credit cardexample, this is rarely used, as the vast majority of cards areavailable nationally. However, there are still a significant number ofcards which rely on smaller geographical regions.

FIG. 4 shows one embodiment of a location-refinement screen that can beused by a user to specify his/her geographic location so that productsearches can be narrowed by including these fields. The location screen400 is reached by selecting the link in field 303 of FIG. 3. Theparticular location screen 400 shown in FIG. 4 includes an exemplarystandard set of geographic entry boxes, such as zip code 402, country404, state 406, county 408, and city 410. Drop-down boxes or entry boxescan be used to enter geographic data into the system. The screen 400 canvary, based on, for example, information obtained from the usercomputer's IP address. For instance, in a location such as the UnitedKingdom, a postal address is entered instead of a zip code.

Importance Rating

FIG. 5 shows one example of a graphical user interface for settingattributes associated with a user. This screen is reached by selectingthe link in field 308 of FIG. 3. By using this panel 500, users canrate, for the credit card example, their own level of indebtedness orcash flow. The present invention can apply preset importance ratings,depending on the selected scale value, to the attributes of the product.These preset ratings are determined by considering general factors thata person who fits into that position on the scale would and should belooking for in a card.

The scale 502 is structured as a series between two values, forinstance, 0 and 100. Zero, meaning high indebtedness and 100 meaninghigh cash flow. Users can drag the scale arrow 504 to find the positionwhich best suites their situation. Value 506 shows the position of thearrow in the scale. Although the positions are grouped into presetcategories, the selected value still plays a part in the importancecalculation. Field 508 provides a description of the preset category.Once the user has positioned the arrow 504, clicking button 510 willindicate to the system that the scale value 506 should be used as aninput for the ranking function. As an alternative, the user can selectsystem defaults by clicking the “Let System Choose For Me” button 512.If no changes are desired, the panel 500 can be hidden by clickingbutton 514. By clicking on the tab 516 at the top of the screen, userscan pull up a screen that allows them to enter custom ratings.

Custom Ratings

FIG. 6 shows a graphical user interface that appears when a user selectsthe tab 516 of FIG. 5. The resulting screen 600 allows a user to inputfurther detailed attributes into the system. In this example, theattributes are importance rating settings. Users can choose between thescale rating as discussed above and shown in FIG. 5, or the customratings shown here.

The custom ratings are selected by moving a slider bar 602 a-n for eachcorresponding attribute group 604 a-n. The slider groups 604 a-n shownin FIG. 6 may not always be the attributes themselves, but can below-level groupings of the attributes to allow for a more fine-tunedview. For example, the attribute group Penalty Charges 604 e applies tothe attributes—“late payment fee” and “over the limit” fee. This sectionis useful for users with a good knowledge of cards.

At the bottom of the screen is two buttons. The first button 606indicates to the system that the attributes are satisfactorily set andthat they should be used to conduct a customized search. The secondbutton 608 tells the system to use system default values to conduct thesearch. In one embodiment, default data is combined with availableprofile data and used as inputs for the ranking function. It should benoted that the screens shown in the figures and described here aremerely exemplary and that the invention is not limited in anyway to whatis shown in the figures or described in these examples.

Results

FIG. 7 shows the results of a search performed using the attributesselected in the previous figures and described above. The result screen312 is typically displayed as soon as a search is activated and returnsa result. The result screen 312 has a text field 702 that states, inappropriate circumstances, which product is best given a particularlocation. With credit cards, this usually displays as a single lineitem. However, in instances where the #1 product is not available in auser's location, but is in a broader region, two line items will appear.For example, one line item will detail the best product in the country,and the second line item will be the best product in the state, city,and town. This allows the user a broader view beyond their state.

Field 704 shows the ranking of the product compared to all otherreturned products in the particular search. Field 706 shows an image ofthe product (if available); otherwise a “no preview” image appears. Inthe next field 708, the name of the product, in this case, credit cardand the institution providing the card, is shown. Field 710 provides asummary of key points the card has to offer. One advantage of thepresent invention is that the jargon is reduced. The user can interactwith the system further to get additional attributes of the product ifhe/she desires.

In one embodiment of the present invention, a user star-ranking systemis implemented. The user-star ranking 712 is a custom satisfactionrating which is collected from users and/or retrieved from consumerwatchdog websites. The ranking system scores the attributes of theproduct and weighs the importance of each as applicable to the user. Ithas the ability to combine quantitative data as well as qualitative datain order to generate a ranking. In the event the inventive system isunable to collect data for a product, an overall rating for aninstitution can be factored into its product rating. Ratings aredetermined by the overall average score for the product; howeverweightings can vary between the various data sources. For example,ratings collected through the present invention can have a weighting of1, whereas ratings from less-reputable sites will have a rating of 0.8.

Although the consumer rating of the card is displayed separately, it isstill used as part of the ranking function as an attribute. It is alsopossible that the consumer rating will be featured as a tie-breakeramongst rankings.

The results screen 312 of FIG. 7 also features an “Info” button 714. Byclicking the Info button 714, a user can cause a panel to display thatwill list the individual attributes of the card as compared to all othercards selected on the page. This comparison is shown, for instance, inFIG. 8, which is explained below.

As an additionally advantageous feature, for the credit cardapplication, and for other similar products, an “Apply” button 716 isprovided on the results page 312. The Apply button 716, used inconjunction with an online application facility, allows the user toapply for the product online. This function can direct the user to aproduct provider's web page or can call up an information submissionscreen(s), which can be used to collect information and then forward theinformation to a product provider's business, either electronically orin tangible form.

Further User Interaction

In one embodiment, the user is able to select, through use of field 314(in graphical user interface 300 shown in FIG. 3), their existing creditcard and find out where it ranks on the scale which led to the selectionof card #1 being found. It also gives hypothetical expenditure examples,for instance, if a user were purchasing on one card as opposed toanother. Section 314 is shown in greater detail in FIG. 8.

Selecting a product can be performed by first selecting, on a first tab817, through an input field 802, the provider and then narrowing down,through another input field 804, to the individual product. The user'schoice of product, in this case a credit card, is displayed in fields806-816. Field 806 shows the card's ranking against other cards in itsclass. Fields 808 and 810 show product identification text and, ifavailable, an image of the product. Field 812 provides a summary of thecard's attributes. A consumer rating of the card is shown in field 814.By selecting the Info button 816, a screen can be reached, which showsmore detailed attributes of the card.

In one embodiment, what-if scenarios are available and allow a user toconvert the card attributes into dollar terms based on the user'sscenario. What-if scenarios can be entered by clicking on tab 818. Thesescenarios can be a powerful tool for the user, as it allows him/her toactually simulate different financial situations. If the invention wereused, for instance, with mutual funds, it would allow the user to enterdifferent scenarios pertinent to mutual funds, such as varying interestrates, terms, tax rates, etc.

A third available tab 820 allows the user to select a comparison ofmultiple credit cards. In this function, selected cards are comparedattribute by attribute in a detailed table. Further information can beprovided to the user by either furnishing contact details to theprovider or sending a request to the provider for product brochures andother information.

Interaction Summary

FIG. 9 shows an interaction summary page 900. The interaction summarypage 900 allows registered users to gain a “bird's-eye” view of alltheir flagged interactions with the present invention. At a glance, theuser will be able to determine the status of their investments,facilities, policies, purchases, etc. within the general marketplace asa whole. As an additional feature, the present invention provides analerting system, which flags the user as to new developments withintheir products.

The interaction summary page 900 can form a part of a landing page forregistered users, and be available through various web feed formats,such as RSS. RSS is used to publish frequently updated content such asblog entries, news headlines, or podcasts. An RSS document, which iscalled a “feed,” “web feed,” or “channel,” contains either a summary ofcontent from an associated web site or the full text. RSS makes itpossible for people to keep up with their favorite web sites in anautomated manner that is easier than checking them manually. Users havethe ability to use their own web aggregators running on either theirdesktop or web blogs to pull this summary 900 down and gain aperspective of their affairs without having to go through the arduousprocess of navigating to the website and logging in. All furtherinteractions can, therefore, be conducted on the website.

FIG. 9 shows several columns 902-912 containing exemplary fields thatcan appear in the summary page 900. For example, column 902 contains therank of each product at the time the user added it to the summary andcolumn 904 contains fields that show the rank of the product as itapplies at the time the summary was downloaded. The importance ratingsare stored in the users profile and are retrieved when determining thatday's ranking. Column 906 shows the product name and column 908 liststhe provider of the product. Column 910, in this example, showsimportant information about the status of each product. In the summaryscreen 900 of FIG. 9, a link to other portions of the present inventionis provided in column 912 to allow for further interaction with theproduct.

The marketplace is an evolving entity. Decisions that are made today arenot necessarily the best tomorrow. The present invention assists usersin making decisions which are ongoing and continually relevant. This isachieved by continually searching for the “better deal” based on theuser's requirements. If the system is able to recommend a moreappropriate service provider or product, the user is notified via apredefined communication channel. For instance, as is shown in two ofthe fields, 914 and 916, of column 912, a warning indicator 918 and 920,respectively, appears when conditions specified by the user are met.These warnings include an early and a late warning. The late notifiernotifies a user if a better rate or price becomes available. The earlynotifier notifies the user of upcoming product events or requirements,e.g., when funds are near their maturity date.

Server

Referring to FIG. 10, a block diagram of a data processing system thatmay be implemented as a server, such as server 106 and/or server 110 inFIG. 1, is depicted in accordance with one embodiment of the presentinvention. Data processing system 1000 may be a symmetric multiprocessor(SMP) system including a plurality of processors 1002 and 1004 connectedto system bus 1006. Alternatively, a single processor system may beemployed. Also, connected to system bus 1006 is memory controller/cache1008, which provides an interface to local memory 1009. I/O bus bridge1010 is connected to system bus 1006 and provides an interface to I/Obus 1012. Memory controller/cache 1008 and I/O bus bridge 1010 may beintegrated as depicted. The processor 1002 or 1004 in conjunction withmemory controller 1008 controls what data is stored in memory 1009. Theprocessor 1002 or 1004 can also work in conjunction with any othermemory device or storage locations, such as storage areas 108 a-n, toserve as a monitor for monitoring data being stored and/or accessed onthe data storage areas 108 a-n.

Peripheral component interconnect (PCI) bus bridge 1014 connected to I/Obus 1012 provides an interface to PCI local bus 1016. A number of modemsmay be connected to PCI bus 1016. Typical PCI bus implementations willsupport four PCI expansion slots or add-in connectors. Communicationslinks to network computers 104 a-n in FIG. 1 may be provided throughmodem 1018 and network adapter 1020 connected to PCI local bus 1016through add-in boards.

Additional PCI bus bridges 1022 and 1024 provide interfaces foradditional PCI buses 1026 and 1028, from which additional modems ornetwork adapters may be supported. In this manner, data processingsystem 1000 allows connections to multiple network computers. Amemory-mapped graphics adapter 1030 and hard disk 1032 may also beconnected to I/O bus 1012 as depicted, either directly or indirectly.

Those of ordinary skill in the art will appreciate that the hardwaredepicted in FIG. 10 may vary. For example, other peripheral devices,such as optical disk drives and the like, also may be used in additionto or in place of the hardware depicted. The depicted example is notmeant to imply architectural limitations with respect to the presentinvention.

In this document, the terms “computer program medium,” “computer usablemedium,” and “computer readable medium” are used to generally refer tomedia such as main memory 1009, removable storage drive 1031, removablemedia 1033, hard disk 1032, and signals. These computer program productsare measures for providing software to the computer system. The computerreadable medium allows the computer system to read data, instructions,messages or message packets, and other computer readable informationfrom the computer readable medium. The computer readable medium, forexample, may include non-volatile memory, such as Floppy, ROM, Flashmemory, Disk drive memory, CD-ROM, and other permanent storage. It isuseful, for example, for transporting information, such as data andcomputer instructions, between computer systems. Furthermore, thecomputer readable medium may include computer readable information in atransitory state medium such as a network link and/or a networkinterface, including a wired network or a wireless network, that allow acomputer to read such computer readable information.

Computer programs (also called computer control logic) are stored inmemory. Computer programs may also be received via communicationsinterface 1016. Such computer programs, when executed, enable thecomputer system to perform the features of the present invention asdiscussed herein. In particular, the computer programs, when executed,enable the processor 1002 and/or 1004 to perform the features of thecomputer system. Accordingly, such computer programs representcontrollers of the computer system.

Client Device

With reference now to FIG. 11, a block diagram illustrating a dataprocessing system is depicted in which the present invention may beimplemented. Data processing system 1100 is an example of a clientcomputer 104. Data processing system 1100 employs a peripheral componentinterconnect (PCI) local bus architecture. Although the depicted exampleemploys a PCI bus, other bus architectures such as Accelerated GraphicsPort (AGP) and Industry Standard Architecture (ISA) may be used.Processor 1102 and main memory 1104 are connected to PCI local bus 1106through PCI bridge 1108. PCI bridge 1108 also may include an integratedmemory controller and cache memory for processor 1102. Additionalconnections to PCI local bus 1106 may be made through direct componentinterconnection or through add-in boards. In the depicted example, localarea network (LAN) adapter 1110, SCSI host bus adapter 1112, andexpansion bus interface 1114 are connected to PCI local bus 1106 bydirect component connection. In contrast, audio adapter 1116, graphicsadapter 1118, and audio/video adapter 1119 are connected to PCI localbus 1106 by add-in boards inserted into expansion slots. Expansion businterface 1114 provides a connection for a keyboard and mouse adapter1120, modem 1122, and additional memory 1124, for example. Smallcomputer system interface (SCSI) host bus adapter 1112 provides aconnection for hard disk drive 1126, tape drive 1128, and CD-ROM drive1130, for example. Typical PCI local bus implementations will supportthree or four PCI expansion slots or add-in connectors.

An operating system runs on processor 1102 and is used to coordinate andprovide control of various components within data processing system 1100in FIG. 11. Each client is able to execute a different operating system.The operating system may be a commercially available operating system,such as WINDOWS XP®, which is available from Microsoft Corporation. Adatabase program such as ORACLE® may run in conjunction with theoperating system and provide calls to the operating system from JAVA®programs or applications executing on data processing system 1100.Instructions for the operating system, the object-oriented operatingsystem, and applications or programs are located on storage devices,such as hard disk drive 1126, and may be loaded into main memory 1104for execution by processor 1102.

Those of ordinary skill in the art will appreciate that the hardware inFIG. 11 may vary depending on the implementation. Other internalhardware or peripheral devices, such as flash ROM (or equivalentnonvolatile memory) or optical disk drives and the like, may be used inaddition to or in place of the hardware depicted in FIG. 11. Also, theprocesses of the present invention may be applied to a multiprocessordata processing system.

As another example, data processing system 1100 may be a stand-alonesystem configured to be bootable without relying on some type of networkcommunication interface, whether or not data processing system 1100includes some type of network communication interface. As a furtherexample, data processing system 1100 may be a Personal Digital Assistant(PDA) device, which is configured with ROM and/or flash ROM in order toprovide non-volatile memory for storing operating system files and/oruser-generated data.

The depicted example in FIG. 11 and above-described examples are notmeant to imply architectural limitations. For example, data processingsystem 1100 also may be a notebook computer or hand-held computer inaddition to taking the form of a PDA. Data processing system 1100 alsomay be a kiosk or a Web appliance.

Mutual Funds

FIGS. 12-16 show another non-limiting example of a use for the presentinvention. The particular example shown in FIGS. 12-16 is related tomutual funds. FIG. 12 illustrates one example of a page body layout 1200for interaction with the present invention. The page layout 1200 isdivided into several sections, the first being a search criteriaentry/selection section 1202, the second being a results area 1212, andthe third section 1242 allowing the user to see where his/her own orpotential mutual fund or family of funds rank on the scale that selectedthe best fund or family of funds. It should be noted that the selectionsshown in the figure are merely exemplary and are not exhaustive of allpossible search criteria. In the particular example shown, users canstart their search by defining their location in field 1203. Thisdefinition can be a hierarchical set of choices including, for instance,Country, State, County, City, or the location can be pre-populated ifthis data has been submitted before either for this product or in anyother prior sessions, for any reason. If this is the first interactionwith the site and no other location data exists, IP address positioningwill be used to refine the location to as low a level as possible.

Fields 1204 and 1205 present lists of fixed variables for the desiredtype of fund. Field 1204 is a category and field 1205 is a subcategoryof the family and fund. In one embodiment, the drop down choices for thecategory 1204 include, for example, Bond Funds, Hybrid Funds,International Stockfunds, and U.S Stock funds. The subcategories in dropdown box 1205 include, for example, Large Blend and Large Growth funds.

Field 1206 allows a user to specify the amount that they wish to invest.This field can be used to filter funds by their required initialinvestment amount, or that use an investment amount as a criteria forsome factor related to the fund.

A clickable link is provided in field 1208 that selects the rankingmethod of the present invention. Embodiments of the present inventionrank products in a standard three-step process if no selection is made.First, it assigns a score to each attribute of every fund (or whateverproduct is the subject of the search), rating its comparison to otherfunds in the same category of funds. Second, the scores are assigned aweight based upon how relevant each attribute is to the individual userand then the scores are re-scored. Lastly, the scores of each attributeare tallied and, in this example, the funds are scored against eachother, with the overall highest score ranked #1.

For the system to gain the importance rating of each attribute, thereare three levels of complexity: system default ratings, preset scaledratings, and in-depth custom ratings. This ranking system applies to allproducts. FIG. 13 shows a graphical user interface screen 1300 thatappears once a user clicks on the link 1208. Similar to the credit cardexample, this screen dictates how the present invention will rate thefunds under consideration.

The first selectable field of FIG. 13 is field 1302, which defines thetime period for consideration. The invention will track a fund or familyof funds over the period selected to determine a yield or otherattribute. The following 3 fields, 1304, 1306, and 1308, are exemplaryattributes of a mutual fund that might be useful in comparing two ormore funds. The first field 1304 has a slider for selecting animportance rating for the attribute of appreciation. The second field1306 has a slider for selecting an importance rating for the attributeof yield. The third field 1308 has a slider for selecting an importancerating for the attribute of total return. After setting the importanceratings of one or more of the fields, their values are input to thesystem by clicking on the “update ratings” button 1310 at the bottom ofthe screen 1300.

Returning back to FIG. 12, field 1210 is a clickable link to determinehow the present invention filters the funds. An exemplary graphical userinterface 1400 that would appear after a user clicks link 1210 is shownin FIG. 14. This screen 1400 can be used by, for example, investors whohave to invest as per a mandate established by their investingorganization. The screen 1400 has a checkbox 1402 that indicates to thesystem that the user wishes to filter the families by the total netasset value of the family. If this checkbox 1402 is checked, the systemwill use the value in that user entry field 1404, which indicates to thesystem the net asset value by which to filter funds. A second checkbox1406 indicates to the system that the user wishes to filter families offunds by how many funds each family of funds possesses. If this checkbox1406 is checked, the system will filter based on the number of fundsindicated in box 1408. A button 1410, upon being clicked, updates thefilters and refreshes the rankings.

The next main section 1212 of FIG. 12 shows the number one family offunds 1214 and the number one fund 1216. The results shown in fields1214 and 1216 are typically displayed as soon as a search is activatedand returns a result. Each of the fields 1214 and 1216 have a text field1218 and 1220, respectively, that states, in appropriate circumstances,which product is best given a particular location.

In the next fields, 1222 and 1224, a fund family's performance and afund's performance, respectively, over a period of time, is shown. Thisperiod of time is identified in the header 1226 and 1228 above thefields 1222 and 1224, respectively. An identifier of the fund family andfamily of funds is shown in fields 1230 and 1232, respectively. Fields1234 and 1236 provide a summary of key aspects of the number one rankedfund family and fund, respectively. These number one ranked products maypreferably conform to the location information entered into field 1203.One advantage of the present invention is that the jargon is reduced.The user can interact with the system further to get additionalattributes of the product if he/she desires.

In one embodiment of the present invention, an analyst star-rankingsystem is implemented. The analyst star-ranking 1238 is a customsatisfaction rating which is collected from analyst and/or retrievedfrom other information sources. The ranking system scores the attributesof the product. It has the ability to combine quantitative data as wellas qualitative data in order to generate a ranking. In the event theinventive system is unable to collect data for a product, an overallrating for an institution can be factored into its product rating.Ratings are determined by the overall average score for the product;however weightings can vary between the various data sources. Forexample, ratings collected through the present invention can have aweighting of 1, whereas ratings from less-reputable sites will have arating of 0.8. Although the analyst rating of the fund is displayedseparately, it can still used as part of the ranking function as anattribute. It is also possible that the analyst rating will be featuredas a tie-breaker amongst rankings.

The results field 1212 also features an “Info” button 1240. By clickingthe Info button 1240, a user can cause a panel to display that will listthe individual attributes of the fund as compared to all other fundsselected on the page.

Ranking field 1242 provides two tabs. The first tab 1244, when selected,allows a user to enter a fund family identifying code in the field 1246.This section ranks the user's family which he/she has invested in. Theserankings are continually updated when the user changes the filter orscale requirements. This is so the user has a view of his own fundranking as it arises within the changing criteria. Upon depressing abutton 1248, a screen similar to the one shown in FIG. 15 is shown tothe user.

A second tab 1250 brings up a screen similar to screen 1600 shown inFIG. 16. Screen 1600 allows users to see the individual fundsperformance. Further interaction in this section will allow the user totrack the performance of the fund over time at set intervals. Theperformance can be presented with a ranking, as well as the percentagechange.

Certificates of Deposit

FIG. 17 shows another exemplary use of the present invention, which isto analyze certificates of deposit (CDs). The screen 1700 is similar tothose examples described above and shown in the figures. FIG. 17 has afirst field 1702 for inputting CD criteria, such as amount to invest1704 and investment term 1706. The screen 1700 has a results section1708 for presenting the number one CD and a ranking and comparingsection 1716. The ranking and comparing section 1716 has a first tab1710 that, when selected, allows a user to rank a particular CD againstall others in a comparison group. A second tab 1712 allows the user toengage in what-if scenarios. Finally, a third tab 1714 allows a user tocompare multiple CDs against each other.

The graphical user interface 1700 shown in FIG. 17 is not meant to belimiting. The present invention is not necessarily required to have allof the features shown and may also have additional features.

Summary

The present invention is an impartial and objective web application forintelligently locating a product, where the search for the product isperformed over a computer network that is accessible to users throughany internet access device, including, personal computers, laptops,mobile telephones, and many others. The invention accepts predefinedand/or open-ended search criteria and user profile data and responds touser direction to access one or many data sources in order to identifythe optimal search candidate within a finite set of possible candidatesconstructed for a predefined problem. The located product is selected byits relevance to a searcher and, more particularly, by its correlationto attributes associated with the searcher. Embodiments of the presentinvention locate not just web pages that reference, link, or offer adesired product, but returns a list of results ranked by how well theproduct fits the searcher's needs and the searcher's situation.

The present invention, according to one embodiment, produces a rankingof relevant products by receiving a search topic from a user and one ormore attributes associated with the user. The attributes are factors,such as demographics or situational data specific to the user. Theinvention then searches multiple information locations for the searchtopic and also searches at least one information field connected to eachinformation location and associated with the topic. The invention thenassociates content in at least one of the information fields with atleast one of the attributes. By “associating,” the invention is making alogical correlation between the content of one of the information fieldsand one of the attributes input by the user. This correlation may not bedirect. For example, the user may enter the “attributes” of his totaldebt and his income. The invention may “associate” these attributes toan information field containing a maximum limit of a loan and also to aminimum credit score. The user's credit score can be calculated by thepresent invention based on debt vs. income. The information fields arethen prioritized, thereby creating a hierarchy of factors based onimportance or relevance. For instance, the user may wish to find acredit card with the highest credit limit so he can move debt, ratherthan worry about an interest rate. Based on the prioritization, theproducts are ranked against each other.

Embodiments of the present invention build a comprehensive profile ofusers by monitoring user click-through events and recommendationacceptance. This comprehensive set of mine-able data increases theinvention's ability to recommend suitable products and may lead to asustainable source of income.

The system has the potential to cause providers to make their productsmore competitive and attractive to consumers by offering quantifiablebenefits. Although qualitative aspects of a product are not disregarded(users are allowed to rate this separately), the recommendation of whichproduct(s) best fit(s) the user's profile and search requirements ispresented. This, coupled with the ability to present recommendations ofproducts far beyond the average consumer's top-of-mind awareness, is agreat leveller of the playing field which provides a huge advantage toconsumer decision making.

The present invention is able to affect multiple industries, whichincluded investments, borrowing, insurance, travel, healthcare,telecommunications, education, and many others.

The present invention provides many advantages over previously-knownsearch engines. For one, the results (rankings) are particular to theuser conducting the search and have no bearing on other users of thesystem. Specifically, where most search engines take into account thenumber of other users that navigate to a page, the present inventionmakes each search tailored only to the user conducting the search. Thepresent invention rates products and services on their attributes andthe relevance of each attribute to the searching user's profile.

The invention is impartial and objective because it is based onpublished, industry-specific data. Queries processed by the system arethose which are directed at a particular industry in order to find aquantifiable result. This could be a financial rate comparison,top-rated service provider, or a product which best meets the needs ofthe user. The result of a query is impartial as the entity providing theinventive service gains no financial reward from making itsrecommendation.

Furthermore, the knowledge base and data repository of the presentinvention is built on published information (e.g., web data) and/or datathat is compiled by a trustworthy, impartial, third party. The operatorof the present invention is not required to obtain subscriptions fromservice providers nor prioritize results based on any financialincentives. Advantageously, embodiments of the present invention createan automated “live” data repository which is continuously up-to-date andactively monitoring changes in the marketplace and seeking new providersand products.

Web users are generally familiar with formulating natural-languagequeries in order to receive a list of possible answers, then manuallyfiltering the results in order to locate the most relevant answer.However, the ability to formulate an effective natural language querydepends on the level of sophistication a user has within a particularfield.

Through use of the present invention, users are guided through aquestion/answer-based expert system assists the user in narrowing thequery and filtering results to find the most relevant and beneficialsingle result within the target industry. The expert systems areindustry-specific and developed in conjunction with experts operating inthat particular field. This allows the present invention to provide aservice to both sophisticated and unsophisticated users alike, allowingboth to achieve the best possible result.

One further advantage is that the present invention is able to presentthe most relevant result only. In such an embodiment, the ultimate goalis to offer the single best-suited result based on the user's querycriteria and requirements, i.e., one query equals one result.

Additionally, where possible and/or applicable, the inventive systemfacilitates the transaction between the user and the service provider.This may be in the form of an online transaction or simply thepresentation of contact details.

The invention advantageously provides a diverse application platformthat assists the user in making the most informed decision andmonitoring the effectiveness of that decision over any given length oftime.

Although specific embodiments of the invention have been disclosed,those having ordinary skill in the art will understand that changes canbe made to the specific embodiments without departing from the spiritand scope of the invention. The scope of the invention is not to berestricted, therefore, to the specific embodiments. Furthermore, it isintended that the appended claims cover any and all such applications,modifications, and embodiments within the scope of the presentinvention.

1. A method of locating a relevant product via a computer network, the relevant product belonging to a category of related products sharing a pre-determined set of product attributes associated therewith, the method comprising: at a client computer: receiving a search topic from a user, the search topic being associated with the category of related products; and receiving user profile data including at least one of demographic, geographic, and situational data specific to the user; with a server: locating at one or more information locations at least two of the related products within the category of related products associated with the search topic, each of the at least two located products having the pre-determined set of product attributes associated therewith, each product attribute having content associated therewith; with at least one of the client computer and the server: for each product attribute of the shared set of product attributes: comparing the content associated with the product attribute in one of the at least two located products against content associated with the product attribute in each of the other located products of the at least two located products; and assigning a relative score to the content associated with the product attribute in each of the at least two located products based on the comparison; prioritizing the shared set of product attributes based at least in part upon a relevance of at least one product attribute to the user profile data; and ranking the at least two located products based on the prioritizing of the product attributes and the score of the content associated with the product attributes.
 2. The method according to claim 1, wherein receiving the user profile data includes at least one of: receiving inputs from the user; searching data stored during a previous search initiated by the user for another product via the computer network; and searching a database of pre-stored user profile data.
 3. The method according to claim 1, wherein the user profile situational data includes information associated with the user's financial situation.
 4. The method according to claim 1, wherein the step of ranking the at least two products includes assigning a weight to the score of the content based upon the prioritization of the product attribute with which the content is associated.
 5. The method according to claim 1, which further comprises selecting the at least one information location from which to locate the at least two related products based at least in part on at least one of the product attributes.
 6. The method according to claim 1, which further comprises displaying by rank the at least two ranked located products.
 7. The method according to claim 1, which further comprises updating the ranking of the at least two located products in response to receiving a change to a priority of at least one of the product attributes.
 8. The method according to claim 1, which further comprises: receiving a user rating of a product; and ranking the at least two located products based at least in part on the user rating.
 9. The method according to claim 1, which further comprises automatically updating the ranking based on a change to the content associated with at least one of the product attributes in at least one of the at least two located products.
 10. The method according to claim 9, which further comprises notifying the user of the updated ranking through a predefined communication channel.
 11. A system for locating a relevant product belonging to a category of related products sharing a pre-determined set of product attributes associated therewith, the system comprising: a client computer operable to: receive a search topic from a user, the search topic being associated with the category of related products to which the relevant product belongs; and receive user profile data including at least one of demographic, geographic, and situational data specific to the user; a server communicatively coupled to the client computer and operable to locate at one or more information locations at least two of the related products within the category of related products associated with the search topic, each of the at least two located products having the pre-determined set of product attributes associated therewith, each product attribute having content associated therewith; wherein, at least one of the client computer and the server is operable: for each product attribute of the shared set of product attributes: to compare the content associated with the product attribute in one of the at least two located products against content associated with the product attribute in each of the other located products of the at least two located products; and to assign a relative score to the content associated with the product attribute in each of the at least two located products based on the comparison; prioritize the shared set of product attributes based at least in part upon a relevance of at least one product attribute to the user profile data; and rank the at least two located products based on the prioritizing of the product attributes and the score of the content associated with the product attributes.
 12. The system according to claim 11, wherein the client computer is operable to receive the user profile data through at least one of: inputs from the user; data stored during a previous search initiated by the user for another product via the computer network; and a database of pre-stored user profile data.
 13. The system according to claim 11, wherein the user profile situational data includes information associated with the user's financial situation.
 14. The system according to claim 11, wherein at least one of the client computer and the server is operable to assign a weight to the pre-scored content based upon the prioritization of the product attribute with which the pre-scored content is associated.
 15. The system according to claim 11, wherein the server is operable to select the at least one information location from which to locate the at least two related products based at least in part on at least one of the product attributes.
 16. The system according to claim 11, wherein the client computer is further operable to display by rank the at least two ranked located products.
 17. The system according to claim 11, wherein at least one of the client computer and the server is further operable to update the ranking of the at least two located products in response to receiving a change to a priority of at least one of the product attributes.
 18. The system according to claim 11, wherein at least one of the client computer and the server is further operable to automatically update the ranking based on a change to the content associated with at least one of the product attributes in at least one of the at least two located products.
 19. The system according to claim 18, wherein the client computer is further operable to notify the user of the updated ranking through a predefined communication channel.
 20. The system according to claim 11, wherein at least one of the client computer and the server is further operable to: receive a user rating of a product; and rank the at least two located products based at least in part on the user rating. 